package com.ads.tpgrupo4.domain.cpr.remito;

import java.util.LinkedList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToMany;

import com.ads.tpgrupo4.domain.cpr.core.PersistentObject;

@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="tipoItem", discriminatorType=DiscriminatorType.STRING)
@Entity
public class ItemRemitoDeProveedor extends PersistentObject {
	
	private static final long serialVersionUID = 1L;
	
	protected TipoItemRemitoDeProveedor tipo;
	
	public ItemRemitoDeProveedor() {
		this.itemsOrigen = new LinkedList<ItemOrigenDeItemRemitoDeProveedor>();
	}
	
	@OneToMany(cascade = {CascadeType.ALL}, fetch=FetchType.EAGER )
	private List<ItemOrigenDeItemRemitoDeProveedor> itemsOrigen;

	public TipoItemRemitoDeProveedor getTipo() {
		return tipo;
	}

	public void setTipo(TipoItemRemitoDeProveedor tipo) {
		this.tipo = tipo;
	}

	public List<ItemOrigenDeItemRemitoDeProveedor> getItemsOrigen() {
		return itemsOrigen;
	}

	public void setItemsOrigen(List<ItemOrigenDeItemRemitoDeProveedor> itemsOrigen) {
		this.itemsOrigen = itemsOrigen;
	}

}
